package com.example.qrcode.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import java.util.Date;

// 指定对应的数据库表名
@TableName("product_detail")
@Data
public class ProductDetail {
    // 主键字段映射（产品序列号）
    @TableId(value = "product_s_no", type = IdType.INPUT)
    private String productSNo;

    // 所属用户ID
    @TableField("user_id")
    private String userId;

    // 设备标识
    @TableField("device_id")
    private String deviceId;

    // 通信模式
    @TableField("communication_mode")
    private String communicationMode;

    // 客户端ID
    @TableField("client_id")
    private String clientId;

    // 用户名
    @TableField("username")
    private String username;

    // 密码
    @TableField("password")
    private String password;

    // 安装地点
    @TableField("installation_location")
    private String installationLocation;

    // 应用场景
    @TableField("application_scenario")
    private String applicationScenario;

    // 10kV线路名称（核心修复：明确指定数据库字段名）
    @TableField("line_10kv_name")
    private String line10kvName;

    // 变压器名称
    @TableField("transformer_name")
    private String transformerName;

    // 变压器额定容量
    @TableField("transformer_rated_capacity")
    private Double transformerRatedCapacity;

    // 变压器变比
    @TableField("transformer_ratio")
    private Double transformerRatio;

    // 线路1信息
    @TableField("line1_name")
    private String line1Name;
    @TableField("line1_rated_capacity")
    private Double line1RatedCapacity;
    @TableField("line1_ratio")
    private Double line1Ratio;

    // 线路2信息
    @TableField("line2_name")
    private String line2Name;
    @TableField("line2_rated_capacity")
    private Double line2RatedCapacity;
    @TableField("line2_ratio")
    private Double line2Ratio;

    // 线路3信息
    @TableField("line3_name")
    private String line3Name;
    @TableField("line3_rated_capacity")
    private Double line3RatedCapacity;
    @TableField("line3_ratio")
    private Double line3Ratio;

    // 线路4信息
    @TableField("line4_name")
    private String line4Name;
    @TableField("line4_rated_capacity")
    private Double line4RatedCapacity;
    @TableField("line4_ratio")
    private Double line4Ratio;

    // 线路5信息
    @TableField("line5_name")
    private String line5Name;
    @TableField("line5_rated_capacity")
    private Double line5RatedCapacity;
    @TableField("line5_ratio")
    private Double line5Ratio;

    // 线路6信息
    @TableField("line6_name")
    private String line6Name;
    @TableField("line6_rated_capacity")
    private Double line6RatedCapacity;
    @TableField("line6_ratio")
    private Double line6Ratio;

    // 线路7信息
    @TableField("line7_name")
    private String line7Name;
    @TableField("line7_rated_capacity")
    private Double line7RatedCapacity;
    @TableField("line7_ratio")
    private Double line7Ratio;

    // 线路8信息
    @TableField("line8_name")
    private String line8Name;
    @TableField("line8_rated_capacity")
    private Double line8RatedCapacity;
    @TableField("line8_ratio")
    private Double line8Ratio;

    // 图片相关
    @TableField("image1_url")
    private String image1Url;
    @TableField("image2_url")
    private String image2Url;

    // 状态相关
    @TableField("communication_status")
    private String communicationStatus;
    @TableField("installation_time")
    private Date installationTime;
    @TableField("status_update_time")
    private Date statusUpdateTime;
    @TableField("product_config")
    private String productConfig;
    @TableField("property_unit")
    private String propertyUnit;
    @TableField("internet_access")
    private String internetAccess;
    @TableField("channel_type")
    private String channelType;
    @TableField("line_num")
    private Integer lineNum;
}
